﻿<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ArticleListing.ascx.cs" Inherits="controles_ArticleListing" %>
<%@ Register Src="~/controles/RatingDisplay.ascx" TagName="RatingDisplay" TagPrefix="mb" %>
<asp:Literal runat="server" ID="lblCategoryPicker"><h4 class="txt1">Filtrar por Categorias:</h4></asp:Literal>
<asp:DropDownList CssClass="genselect" ID="ddlCategories" runat="server" AutoPostBack="True" DataSourceID="objAllCategories"
   DataTextField="titu_cate" DataValueField="Id" AppendDataBoundItems="true" OnSelectedIndexChanged="ddlCategories_SelectedIndexChanged">
   <asp:ListItem Value="0">Todas las Categorias</asp:ListItem>   
</asp:DropDownList> 
<asp:ObjectDataSource ID="objAllCategories" runat="server" SelectMethod="GetCategories"
   TypeName="IUAP.BLL.Articulo.Categoria"></asp:ObjectDataSource>
<asp:Literal runat="server" ID="lblSeparator">&nbsp;&nbsp;&nbsp;</asp:Literal>
<br />
<asp:Literal runat="server" ID="lblPageSizePicker"><h4 class="txt1">Articulos por pagina:</h4></asp:Literal>
<asp:DropDownList CssClass="genselect" ID="ddlArticlesPerPage" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlArticlesPerPage_SelectedIndexChanged">
   <asp:ListItem Value="5">5</asp:ListItem>
   <asp:ListItem Value="10" Selected="True">10</asp:ListItem>
   <asp:ListItem Value="25">25</asp:ListItem>
   <asp:ListItem Value="50">50</asp:ListItem>   
   <asp:ListItem Value="100">100</asp:ListItem>
</asp:DropDownList>
<p></p>
<asp:GridView SkinID="Articles" ID="gvwArticles" runat="server"  
    AllowPaging="True" AutoGenerateColumns="False"
   DataKeyNames="ID" DataSourceID="objArticles" ShowHeader="False"
   
    EmptyDataText="<b>No hay artículo para mostrar para la categoría seleccionada</b>" 
    OnRowDataBound="gvwArticles_RowDataBound" 
    OnRowCommand="gvwArticles_RowCommand" BorderStyle="None" CellSpacing="10">
   <Columns>
      <asp:TemplateField HeaderText="Lista de artículos (incluidos los que aún no se han publicado)">
         <HeaderStyle HorizontalAlign="Left" />
         <ItemTemplate>
            <div class="articlebox">
            <table cellpadding="10" cellspacing="10" style="width: 100%;"><tr><td>               
               <div class="articletitle">
               <asp:HyperLink runat="server" ID="lnkTitle" CssClass="articletitle" Text='<%# Eval("Titu_arti") %>'
                  NavigateUrl='<%# "~/PagComunes/VerArticulos.aspx?ID=" + Eval("Id") %>'/> 
               <asp:Image runat="server" ID="imgKey" ImageUrl="~/Images/key.gif" AlternateText="Requiere iniciar sesión"
                  Visible='<%# (bool)Eval("Solo_miem_arti") && !Page.User.Identity.IsAuthenticated %>' />
               <asp:Label runat="server" ID="lblNotApproved" Text="No se ha aprobado" SkinID="NotApproved" Visible='<%# !(bool)Eval("Apro_arti") %>' /> 
               </div>               
            </td>
            <td style="text-align: right;">
               <asp:Panel runat="server" ID="panEditArticle" Visible='<%# UserCanEdit %>'>
               <asp:ImageButton runat="server" ID="btnApprove" ImageUrl="~/Images/Ok.gif"
                  CommandName="Approve" CommandArgument='<%# Eval("Id") %>' AlternateText="aprobar el artículo"
                  Visible='<%# !(bool)Eval("Apro_arti") %>'
                  OnClientClick="if (confirm('¿Está seguro que desea aprobar este artículo?') == false) return false;" />
               &nbsp;&nbsp;
               <asp:HyperLink runat="server" ID="lnkEdit" ToolTip="Editar Articulo"
                  NavigateUrl='<%# "~/PagAdmin/AddEditArticulos.aspx?ID=" + Eval("Id") %>' ImageUrl="~/Images/Edit.gif"/>
               &nbsp;&nbsp;
               <asp:ImageButton runat="server" ID="btnDelete" ImageUrl="~/Images/Delete.gif"
                  CommandName="Delete" AlternateText="Borrar Articulo"
                  OnClientClick="if (confirm('¿Está seguro que desea eliminar este artículo?') == false) return false;" />
               </asp:Panel>
            </td></tr></table>
             <b>Rating: </b>
            <asp:Literal runat="server" ID="lblRating" Text='<%# Eval("Voto_arti") + " usuario (s) han calificado este artículo " %>' />
<%--            <mb:RatingDisplay runat="server" ID="ratDisplay" Value='<%# Eval("Rank_arti") %>' />--%>
            <br />
            <b>Posteado por: </b> <asp:Literal runat="server" ID="lblAddedBy" Text='<%# Eval("Usuario") %>' />, 
            el <asp:Literal runat="server" ID="lblAddedDate" Text='<%# Eval("Fech_publ_arti", "{0:d}") %>' />, 
            <br />
            <b>Puntos de vista: </b>
            <asp:Literal runat="server" ID="lblViews" Text='<%# "Este artículo ha sido leído " + Eval("Cont_visi_arti") + " veces" %>' />      
            <asp:Literal runat="server" ID="lblLocation" Visible='<%# Eval("Ciud_arti").ToString().Length > 0 %>'
               Text='<%# "<br /><b>Lugar: </b>" + Eval("Ciud_arti") %>' />
            <br />
            <div class="articleabstract">
             <b>Resumen: </b>
            <asp:Literal runat="server" ID="lblAbstract" Text='<%# Eval("Resu_arti") %>' />
            </div>
            </div>
         </ItemTemplate>         
      </asp:TemplateField>
   </Columns>   
   <EmptyDataTemplate><b>No hay artículos para mostrar</b></EmptyDataTemplate>   
</asp:GridView>
<asp:ObjectDataSource ID="objArticles" runat="server" DeleteMethod="DeleteArticle"
   SelectMethod="GetArticles" SelectCountMethod="GetArticleCount" 
    EnablePaging="True" TypeName="IUAP.BLL.Articulo.Articulo">
   <DeleteParameters>
      <asp:Parameter Name="Id" Type="Int32" />
   </DeleteParameters>
   <SelectParameters>
      <asp:Parameter DefaultValue="true" Name="publishedOnly" Type="Boolean" />
      <asp:ControlParameter ControlID="ddlCategories" Name="id_categoria" PropertyName="SelectedValue" Type="Int32" />
   </SelectParameters>
</asp:ObjectDataSource>